#ifndef _DKGL_COLOR_H_
#define _DKGL_COLOR_H_

namespace DKGL
{

class Colorf
{
public:
	union
	{
		struct
		{
			float r, g, b, a;
        };
		float rgba[4];
		float rgb[3];
    };

	inline Colorf(){};

	inline Colorf(Colorf& c)
	{
		a = c.a;
		r = c.r;
		g = c.g;
		b = c.b;
	};

	inline Colorf(float _r, float _g, float _b, float _a = 1.0f)
	{
		r = _r;
		g = _g;
		b = _b;
		a = _a;
	};

	inline Colorf& operator = ( const Colorf& color )
	{
        r = color.r;
        g = color.g;
        b = color.b;
		a = color.a;

        return *this;
    };

	static const Colorf WHITE;
    static const Colorf BLACK;
    static const Colorf RED;
    static const Colorf GREEN;
    static const Colorf BLUE;
	static const Colorf YELLOW;
	static const Colorf PURPLE;
   
};

}

#endif